package cn.datax.service.data.market.api.entity;

import cn.datax.common.base.DataScopeBaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

@Data
@Accessors(chain = true)
@TableName(value ="market_api_warn_rule", autoResultMap = true)
public class ApiWarnRuleEntity extends DataScopeBaseEntity {
    private static final long serialVersionUID=1L;


    private String apiId;
    /**
     * api名称
     */
    @TableField(exist = false)
    private String apiName;

    /**
     * 选择告警规则的API监控指标。监控指标包括：
     * 调用次数：单位时间内，调用API的总次数。
     * 平均响应时长：单位时间内，API调用总时长/API调用总次数。
     * 错误率：单位时间内，API调用错误总次数/API调用总次数。
     */
    private String metric;

    /**
     * 选择API调用的单位时间。单位时间包括1min 、5min、10min、30min、60min。
     */
    private String unitTime;

    /**
     * 选择监控指标与触发阈值的比较的操作符。操作符包括<=， <，>，>=，=， !=。
     */
    private String operator;

    /**
     * 填写告警规则的触发阈值。
     */
    private String triggerThreshold;

    /**
     *选择告警信息通知给通知人的方式。通知方式包括：
     * 邮件
     * 电话
     * 短信
     * 钉钉
     */
    private String notificationMethod;

    /**
     * 选择告警信息的接收人。
     */
    private String notifier;

    /**
     * 在短时间内多次告警，可以设置一个静默期，在发送告警信息后的静默期期间，系统不再重复发送相同API告警规则的信息。
     */
    private String silentPeriod;

}
